﻿#region GNU General Public License
/*
-----------------------------------------------------------------------------
This source file is part of jscc
    (Javascript with Classes)
For the latest info, see http://code.google.com/p/jscc

Copyright (c) 2011 Tapani Valkonen

jscc is free software: you can redistribute it and/or modify it under 
the terms of the GNU General Public License as published by the 
Free Software Foundation, either version 3 of the License, or (at your option)
any later version. 
 
jscc is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
for more details.

You should have received a copy of the GNU General Public License 
along with jscc. If not, see http://www.gnu.org/licenses/.
-----------------------------------------------------------------------------
*/
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace jscc
{
    public class ParseError : Exception
    {
        SourceLocation location;
        string message;

        public ParseError(string msg, SourceLocation loc)
            : base(msg)
        {
            location = loc;
            message = msg;
        }

        public static ParseError Syntax(string msg, SourceLocation loc)
        {
            return new ParseError("error: " + msg, loc);
        }

        public override string ToString()
        {
            return location.ToString() + message;
        }
    }
}
